package main

import (
	"log"
	"os"

	"github.com/pborman/getopt"
)

func main() {

	gost2012 := getopt.BoolLong("gost2012", 1, "ГОСТ Р 34.11-2012 с длиной 256")
	gost2012512 := getopt.BoolLong("gost2012-512", 2, "ГОСТ Р 34.11-2012 с длиной 512")
	gost94 := getopt.BoolLong("gost94", 3, "ГОСТ Р 34.11-94")
	getopt.Parse()

	args := getopt.Args()

	lenArgs := len(args)

	if lenArgs != 1 {
		log.Fatalf("Неверное количество аргументов")
	}

	if *gost2012 {
		gostcipher := "gost2012"
		hashing(args[0], gostcipher)
		os.Exit(0)
	} else if *gost2012512 {
		gostcipher := "gost2012512"
		hashing(args[0], gostcipher)
		os.Exit(0)
	} else if *gost94 {
		gostcipher := "gost94"
		hashing(args[0], gostcipher)
		os.Exit(0)
	} else {
		// Значение по умолчанию
		gostcipher := "gost2012"
		hashing(args[0], gostcipher)
		os.Exit(0)
	}
}
